Complementary metal-oxide semiconductor (CMOS) image sensors utilize sensor arrays that are composed of rows and columns of pixels. The pixels are sensitive to light of various wavelengths. When a pixel is subjected to a wavelength of light to which the pixel is sensitive, the pixel generates electrical charge that represents the intensity of the sensed light. When each pixel in the sensor array outputs electrical charge based on the light sensed by the array, the combined electrical charges represent the image projected upon the array. Thus, CMOS image sensors are capable of translating an image of light into electrical signals that may be used, for example, to create digital images.
Ideally, the digital images created through the use of CMOS image sensors are exact duplications of the light image projected upon the sensor arrays. However, various noise sources can affect individual pixel outputs and thus distort the resulting digital image. Some noise sources may affect the entire sensor array, thereby requiring frame-wide correction of the pixel output from the array. One such corrective measure applied to the output of the entire sensor array is the setting of a base-line black level (described below). Other noise sources may only affect specific portions of the sensor array. For example, row-specific noise may be generated from a mismatch of circuit structures in the image sensors due to variations in the manufacturing processes of integrated circuits. The effect of row-specific noise in an image sensor is that rows or groups of rows may exhibit relatively different outputs in response to uniform input light.
In order to set a corrective black level and remove the effects of row-specific noise, dark rows and dark columns are used in image sensors, as demonstrated in FIG. 1. FIG. 1 show an image sensor 100 that includes a pixel array 110 organized into N pixel columns and R pixel rows. The pixel array 110 contains an active area 112, dark rows 115 and dark columns 117. Although not shown in FIG. 1, dark rows 115 may also be located above the active area 112, and dark columns 117 may also be located to the left of the active area 112. Upon readout of a row, parallel pixel outputs from each column (i.e., N pixel outputs) are sampled and stored on a set of capacitors 120, one row at a time. Each pixel is in turn sent through an analog signal processing block 130 before being digitized by an analog-to-digital converter 140. The stream of digitized pixels are then processed digitally (block 150) before they are sent to an output buffer 170. By monitoring the digitized data from the dark rows 115, a feedback loop 160 is used to adjust the frame-wise black level. Generally, noise reducing processes (block 150) are applied to each pixel output, sequentially, either before or after the output reaches the analog-to-digital converters 140.
Dark columns 117 and dark rows 115 are areas within the pixel array 110 that do not receive light or capture image data. Pixel outputs from the dark rows 115 and dark columns 117 are used to both set the black level for the entire pixel array 110 and correct row-specific noise.
One corrective technique is to ensure that pixels in the dark columns 117 and dark rows 115 do not receive image data by covering the pixels in the dark columns 117 and dark rows 115 with a metal plate. Pixels blocked from sensing light via a metal plate are referred to as optically black pixels. Because, theoretically, no light is sensed by the optically black pixels, the only charge generated by the optically black pixels is internal noise-induced charge. This is often referred to as dark current. Thus, one method of compensating for noise is through the calculation of average optically black pixel output values, which represent average noise values, and then subtracting these average values from the outputs of the pixels in the active area 112. For example, an appropriate black level may be set by calculating an average optically black pixel output for the optically black pixels in the dark rows 115 (block 150), and then subtracting this average value from the output of every pixel in the active area 112 and dark columns 117. Row-specific noise in pixel array 110 may also be compensated for by calculating an average optically black pixel output for each row of optically black pixels in the dark columns 117 (block 150). The calculated optically black pixel average for each row is then subtracted from the values of each of the active pixels in the corresponding rows of pixels.
In practice, because each row of pixel outputs in the pixel array 110 is read-out sequentially, the pixel outputs from the dark rows 115 are read first. From the dark rows 115, the optically black blacklevel is calculated (block 150) and then applied to the successive pixel outputs from the active area 112 and the dark columns 117. Row-specific noise is then corrected by using the already adjusted optically black pixel output values from the dark columns 117. The output values of the optically black pixels for a given row in the dark columns 117 are averaged (block 150), and then the averaged optically black pixel output is subtracted from the output of each of the pixels within the respective row of the active area 112.
A drawback with using optically black pixels in calculating a black level value is that optically black pixels are sensitive to more than just background or internal noise. Optically black pixels may generate charge in response to random, localized noise sources, thus artificially altering the calculated black level. For example, optically black pixels may generate excess charge as a result of pixel blooming. Blooming is caused when too much light enters a pixel, thus saturating the pixel. A pixel subject to blooming is unable to hold all of the charge generated as a result of sensed light. Consequently, any excess charge may leak from the pixel and contaminate adjacent pixels. Optically black pixels that generate excess charge as a result of blooming will result in an artificially high black level. Infrared (IR) reflections may also result in excess charge generation. IR reflections occur when IR radiation is incident on pixels within the pixel array 110 and is trapped within the image sensor 100. The IR radiation, which also causes pixels to generate charge, may repeatedly reflect against multiple optically black pixels, thus again artificially inflating the amount of generated charge. In these cases, the black level sensed by the optically black pixels is generally higher than the ideal black level because of the charge collected from these noise sources.
In response to the disadvantages of using optically black pixels to set the black level value, an alternative technique for correcting noise in a pixel array 110 is to tie the photodiode of the pixels in the dark rows 115 to a fixed voltage. The fixed voltage is, in essence, a fixed black level for the pixel array 110. The advantages of this method is that the black level calculation is not influenced by blooming, IR reflections, etc., and that every frame utilizes a constant and unchanging black level. However, tied pixels are not sensitive to any changes in dark current or other row-specific noise sources. Thus, a black level generated utilizing tied pixels may not accurately compensate for the noise caused by dark current.
There is, therefore, a need and desire for a method and apparatus for efficiently generating and applying a stable black level value utilizing the benefits of tied pixels and optically black pixels to the pixel outputs of a solid state imager, for example, a CMOS imager.